C和C++中&和&&,|和||的区别 请前辈们指教

来源:百度知道 编辑:UC知道 时间:2024/07/08 17:53:02

哎,我觉得我已经在原来那个帖子里面说得很清楚了
有什么不清楚的问吧。
呵呵

我想应该是一种压缩提高效率的方法
举个例子吧,
为了在一个4字节的整型中传递4个参数,而且都是布尔型的,那么就可以利用一个整型的4个byte各放一个boolean的值。
那么,二进制表示的ABCD就分别代表了A、B、C、D四个变量的值,例如
x = 9就代表1001,即a=true,b=false,c=false,d=true

然后,为了方便记忆每个位上代表的是什么符号,就人为设定一些标志,例如varA=8, varB=4, varC=2, varD=1
这样就表达了A、B、C、D四个选项。

又考虑到有可能出现重复的情况,即某个标识符表示同时选AC两个选项,那么就有个标识符叫做varAC=10;同样,比如说varBC=6,等等

那么,这个函数在参数传递的时候,就可以用过取每一位而迅速获得各个参数的值
例如,形参写的是“varAC|varBC”表明ABC同时为true,然而只需要14即可表示ABC同时为true。
这样可以避免用普通的加法位数太大的问题,用“或”这个运算符也可以避免varAC+varBC=16而不等于14这一类有一个选项(C)重复的问题

以上仅为个人意见。

& 按位“与”运算,操作数是两个无符号整型数

&& 逻辑运算符,“与”,用于逻辑量的运算

| 按位“加”运算,操作数是两个无符号整型数。

|| 逻辑运算符,“或”运算,用于逻辑量的运算。

&& || 常出现于条件语句的表达式。

&还能够用来得出变量的地址。。。